import {ref} from "vue";

export abstract class BpmnNode {

    protected propertyPanelRef = ref<any>()

    /**
     * 设置参数
     */
    public abstract setProperties(e,object,moddle,modeling);

    /**
     * 节点点击事件
     */
    public abstract nodeClick(bpmnViewerValue: any,e: any);

    /**
     * 节点变更事件
     * @param bpmnViewerValue
     * @param e
     */
    public abstract nodeChange(bpmnViewerValue: any,e: any);

    /**
     * 节点创建事件
     * @param bpmnViewerValue
     * @param e
     */
    public abstract nodeCreate(bpmnViewerValue: any,e: any);

    /**
     * 参数面板dom
     * @param propertyPanelRef
     */
    public setPropertyPanelRef(propertyPanelRef){
        this.propertyPanelRef.value = propertyPanelRef
    }

}